#include <stdio.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main() 
{
  if(fork() == 0)
  {
    printf("command begin!\n");   
    char* env[] = {"MYENV = hello world", "MYENV = 1234", NULL};
    char* argv[] = { "mytest", NULL };
    execve("./mytest",argv, env);
    printf("command end!\n");
  }
  waitpid(-1, NULL, 0);
  printf("wait success!\n");
  return 0;
}

//int main() 
//{
//  if(fork() == 0)
//  {
//    printf("command begin!\n");   
//    char* env[] = {"MYENV = hello world", "MYENV = 1234", NULL};
//    execle("./mytest", "mytest", NULL, env);
//
//    printf("command end!\n");
//  }
//  waitpid(-1, NULL, 0);
//  printf("wait success!\n");
//  return 0;
//}

//int main() 
//{
//  if(fork() == 0)
//  {
//    printf("command begin!\n");
//    char* argv[] = { "ls", "-a", "-l", NULL };
//    execvp("ls", argv);
//    printf("command end!\n");
//  }
//  waitpid(-1, NULL, 0);
//  printf("wait success!\n");
//  return 0;
//}

//#include <stdio.h>
//#include <stdio.h>
//#include <unistd.h>
//#include <sys/types.h>
//#include <sys/wait.h>
////int main()
//{
//  if(fork() == 0)
//  {
//    printf("command begin!\n");
//    char* argv[] = { "ls", "-a", "-l", NULL };
//    execv("/usr/bin/ls", argv);
//    printf("command end!\n");
//  }
//  waitpid(-1, NULL, 0);
//  printf("wait success!\n");
//  return 0;
//}

//#include <unistd.h>
//#include <sys/types.h>
//#include <sys/wait.h>
//
//int main()
//{
//  if(fork() == 0)
//  {
//    printf("command begin!\n");
//    execl("/usr/bin/ls"/*你要执行设*/, "ls", "-a", "-l"/*明令行上如何执行*/, NULL);
//    printf("command end!\n");
//  }
//  waitpid(-1, NULL, 0);
//  printf("wait success!\n");
//  return 0;
//}
